package com.demo.publish;

import com.demo.common.util.CMDUtil;
import com.demo.common.util.FtpUtil;
import com.demo.common.vo.ResultVO;
import com.jfinal.core.Controller;
import com.jfinal.kit.PropKit;
import com.xiaoleilu.hutool.lang.Console;

public class PublishController extends Controller {
  // 发布方法
  public void doPublish() {
    ResultVO rtReult = new ResultVO();
    Console.log("开始打包.....");
    try {
      // 1. 获取最新的代码
      CMDUtil.execSync("F:&&cd F:\\git\\risk-mall-test\\riskmall&&git pull");
      // 2. 进行打包
      CMDUtil.execSync("F:&&cd F:\\git\\risk-mall-test\\riskmall\\source\\risk-parent&&mvn clean install");
      // 3. 发布到服务器
      PropKit.use("ftp.properties");
      // 3.1 删除服务器上的war包和对应的文件夹
      FtpUtil.remove(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("AUTH_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("AUTH_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("AUTH_DEST_NAME"));
      FtpUtil.remove(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("OPER_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("OPER_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("OPER_DEST_NAME"));
      FtpUtil.remove(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("TRADE_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("TRADE_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("TRADE_DEST_NAME"));
      FtpUtil.remove(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("BACK_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("BACK_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("BACK_DEST_NAME"));
      FtpUtil.remove(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("MALL_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("MALL_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("MALL_DEST_NAME"));
      FtpUtil.remove(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("JOB_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("JOB_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("JOB_DEST_NAME"));

      FtpUtil.removeDirecotory(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("AUTH_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("AUTH_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("AUTH_DEST_DIR"));
      FtpUtil.removeDirecotory(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("OPER_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("OPER_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("OPER_DEST_DIR"));
      FtpUtil.removeDirecotory(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("TRADE_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("TRADE_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("TRADE_DEST_DIR"));
      FtpUtil.removeDirecotory(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("BACK_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("BACK_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("BACK_DEST_DIR"));
      FtpUtil.removeDirecotory(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("MALL_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("MALL_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("MALL_DEST_DIR"));
      FtpUtil.removeDirecotory(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("JOB_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("JOB_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("JOB_DEST_DIR"));
      // 3.2 上传war包到服务器
      FtpUtil.upload(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("AUTH_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("AUTH_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("AUTH_SRC_FILE_PATH"), PropKit.getProp("ftp.properties").get("AUTH_DEST_NAME"));
      FtpUtil.upload(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("OPER_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("OPER_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("OPER_SRC_FILE_PATH"), PropKit.getProp("ftp.properties").get("OPER_DEST_NAME"));
      FtpUtil.upload(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("TRADE_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("TRADE_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("TRADE_SRC_FILE_PATH"), PropKit.getProp("ftp.properties").get("TRADE_DEST_NAME"));
      FtpUtil.upload(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("BACK_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("BACK_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("BACK_SRC_FILE_PATH"), PropKit.getProp("ftp.properties").get("BACK_DEST_NAME"));
      FtpUtil.upload(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("MALL_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("MALL_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("MALL_SRC_FILE_PATH"), PropKit.getProp("ftp.properties").get("MALL_DEST_NAME"));
      FtpUtil.upload(PropKit.getProp("ftp.properties").get("URL"), PropKit.getProp("ftp.properties").get("JOB_USERNAME"), PropKit.getProp("ftp.properties").getInt("PORT"), PropKit.getProp("ftp.properties").get("JOB_PASSWORD"), "/", PropKit.getProp("ftp.properties").get("JOB_SRC_FILE_PATH"), PropKit.getProp("ftp.properties").get("JOB_DEST_NAME"));
    } catch (Exception e) {
      rtReult.setStat(false);
      rtReult.setErrId("1");
      rtReult.setErrMsg(e.getMessage());
    }
    Console.log("开始完成.....");
    renderJson(rtReult);
  }
}
